1. Technical Field
This invention relates generally to systems, methods, and computer program products for modeling and design. More specifically, the present invention relates to software used to design space layouts and corresponding components.
2. Background and Relevant Art
As computerized systems have increased in popularity, so has the range of applications that incorporate computational technology. For example, architects and interior designers (or “designers”) use a wide range of design software for designing the aesthetic as well as functional aspects of a given residential or commercial space. In some cases, the designer might use some software programs that are better suited for exterior design, and then use other software programs that are better suited for interior design.
For example, a designer might implement one software program to design an overall look of a building, and then use the software to design or position each of the structural components of the building, such as weight-bearing walls, trusses in a roof, and so on. The designer might then use another software program, whether separately, or as an add-on to the first software program, to design the functional components of a building, such as the electrical systems, plumbing systems, and heating, ventilating, and air conditioning (HVAC) systems. Finally, the designer might then use still a further software program to design the interior features of the building, such as functional walls, position of furniture, lighting fixtures, and so forth.
When designing the exterior and/or interior of a given residential or commercial space, the designer may need to take care that each of the elements in the design are structurally and functionally sound when built. This is because typical design software can allow spaces to be fairly configurable to suit the user's desires without specific regard in many cases to whether the design will actually function or comply with applicable codes and regulations when built. For example, one typical software design program (e.g., conventional computer-aided design or CAD programs) might allow a designer to layout an electrical circuit that is ill-suited for the number or type of electrical components and loads that the designer has included in the circuit. If the circuit were actually constructed as laid out by the designer, the circuit may be hot and be prone to overload, may be a fire hazard, or may not satisfy the requirements of applicable building codes. In a situation such as this, however, the builder might indicate to the designer that the layout is physically impossible or impractical, and ask for a redesign. This, of course, can lead to any number of inefficiencies.
For example, conventional design software is often difficult to use, and heavily dependent on the skill of a user, such that conventional software for laying out functional systems can tend to be accessible primarily or uniquely to “product experts.” In general, a product expert is one who understands the product components, rules, and behaviors in relation to other components (functional and non-functional) in the layout software. Nevertheless, even product experts can err when attempting to remember all aspects of any particular component, and can fail to remember or identify a component's relationships with respect to other parts of the layout.
One of the problems with many design software programs that can lead to the design of physically or functionally impractical structures, is that many such design problems require some drawing of a space in flat, two-dimensional space. For example, an electrical wiring layout is typically designed in a plan view that emphasizes primarily only length and width from above. With views such as these, the designer will either need to independently visualize the three-dimensional spacing, or will need to perform a separate three-dimensional rendering of the design, if the software allows for it.
In addition, neither the three-dimensional rendering nor the two-dimensional drawing views are designed to accommodate necessary modifications to the objects or walls, based on real-world materials, or other important constraints. For example, a designer might use a first two-dimensional software package to place several electrical components in a work space. After which the designer may place furniture and work spaces within the same work space using another two-dimensional software package or an add-on to the first. The designer may then use another program to produce a three-dimensional rendering of the workspace. Upon reviewing the three-dimensional rendering of the workspace, the designer may find that some of the electrical components need to be repositioned relative to the furniture and work spaces or vise versa. Conventional design software typically requires changes to the electrical layout design or changes in furniture selection and placement to be made manually, which often results in a complete rework to ensure the end-user captures all of the needed changes.
For example, changing existing layouts can involve not only the manual placement of components, but also various considerations related to the changing of the walls, furniture, or other design components. Furthermore, the repositioning or replacement of functional components can require changes to the circuits, jumpers, breakers, pumps, vents, and machines supporting the components. In addition, there are several mistakes that can be made with regard to estimating installation times, as well as time and cost for manual placement, rework, and so forth.
One way that conventional software lends itself to these difficulties is that there it often has inexact or error-prone software relationships between textual versions and graphical oriented versions of components. For example, conventional layout software applications will sometimes, upon completion of a design, utilize separate databases for the graphic components and textual components used to order the product. The linking between these different databases, however, introduces another area for potential error, and requires additional time for auditing the graphical results against the textual results.
Once a design has been finalized by a designer, the designer will need to generate one or more parts lists that reflect the various dimensions and parts placed in any of the design views. An estimator (or the like) may then use the parts list for any number of cost estimate or ordering ends. Unfortunately, there is generally not a convenient way for an accurate parts list to be generated automatically from one or more design views. For example, even though a designer might use a conventional design software program to design one or more views of a space, the designer might need to independently deduce a parts list based on each of the different views. In some cases, the designer might hire another person to identify each part needed.
Accordingly, an advantage in the art can be realized with systems, methods, and computer program products that provide a designer with the ability to design spaces in a highly configurable and user-friendly manner. In particular, an advantage can be realized with systems that are configured to help ensure functional system layouts (electrical, plumbing, HVAC, etc.) are physically and functionally possible in at least one respect.